package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.purchase.RCBudgetContract;
import com.shrct.businessprocess.purchase.RCProductDeliverItem;
import com.shrct.businessprocess.purchase.impl.RCProductDeliverImpl;
import com.shrct.businessprocess.purchase.proxy.RCProductDeliverProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Collection;
import java.util.Date;

@EntityImplementation(implementBy = RCProductDeliverImpl.class)
public interface RCProductDeliver extends IModelObject {
  public abstract Date getDate();
  
  public abstract RCProductDeliver setDate(final Date date);
  
  public abstract String getComment();
  
  public abstract RCProductDeliver setComment(final String comment);
  
  public abstract String getLocation();
  
  public abstract RCProductDeliver setLocation(final String location);
  
  public abstract String getBranch();
  
  public abstract RCProductDeliver setBranch(final String branch);
  
  public abstract RCBudgetContract getContract();
  
  public abstract RCProductDeliver setContract(final RCBudgetContract contract);
  
  public abstract Collection<RCProductDeliverItem> getItems();
  
  public abstract RCProductDeliver removeFromItems(final RCProductDeliverItem rCProductDeliverItem);
  
  public abstract RCProductDeliver removeAllItems();
  
  public abstract void cancelDeliver(final RCProductDeliverItem item);
  
  public abstract RCProductDeliverProxy toProxy();
}
